var useFiles = [];

useFiles.push('uikit');
useFiles.push('uikit.css');
useFiles.push('easyui');
useFiles.push('easyui.css');
useFiles.push('easyui-icon.css');
useFiles.push('page.css');
useFiles.push('easyui-locale');

seajs.use(useFiles, function() {
	$(initPage);
});

function initPage() {
	// 顶部导航
	$(document).on("click", '.top-nav a', topNavClick);
	
	// 左侧导航
	$(document).on("click", '.left-nav a.uk-button', leftNavClick);
	
	// 上下文菜单
	$(document).on("contextmenu", '.tabs-inner', tab_contextmenu);
	
	// 刷新
	$(document).on("click", '#mm-tabUpdate', mmTabUpdate_click);
	
	// 关闭当前
	$(document).on("click", '#mm-tabClose', mmTabClose_click);
	
	// 全部关闭
	$(document).on("click", '#mm-tabCloseAll', mmTabCloseAll_click);
	
	// 关闭除当前之外的TAB
	$(document).on("click", '#mm-tabCloseOther', mmTabCloseOther_click);
	
	// 关闭当前右侧的TAB
	$(document).on("click", '#mm-tabCloseRight', mmTabCloseRight_click);
	
	// 关闭当前左侧的TAB
	$(document).on("click", '#mm-tabCloseLeft', mmTabCloseLeft_click);
	
	refreshTopNav();
}

function tabsBeforeClose(title) {
	var tab = $('#tabs').tabs('getTab', title);
	
	$(tab.panel('options').content).attr('src', 'about:blank');
	
	return true;
};

function mmTabUpdate_click() {
	var currentTab = $('#tabs').tabs('getSelected');
	
	var url = $(currentTab.panel('options').content).attr('src');
	
	$('#tabs').tabs('update', {
	    tab : currentTab,
	    options : {
		    content : createFrame(url)
	    }
	});
}

function mmTabClose_click() {
	var currentTabTitle = $('#mm').data("currentTabTitle");
	
	$('#tabs').tabs('close', currentTabTitle);
}

function mmTabCloseAll_click() {
	$('.tabs-inner span').each(function(i, n) {
		var t = $(n).text();
		
		$('#tabs').tabs('close', t);
	});
}

function mmTabCloseOther_click() {
	var $siblings = $('.tabs-selected').siblings();
	
	if ($siblings.length == 0) {
		return false;
	}
	
	$siblings.each(function(i, n) {
		var t = $('a:eq(0) span', $(n)).text();
		
		$('#tabs').tabs('close', t);
	});
	
	return false;
}

function mmTabCloseRight_click() {
	var $nextAll = $('.tabs-selected').nextAll();
	
	if ($nextAll.length == 0) {
		return false;
	}
	
	$nextAll.each(function(i, n) {
		var t = $('a:eq(0) span', $(n)).text();
		
		$('#tabs').tabs('close', t);
	});
	
	return false;
}

function mmTabCloseLeft_click() {
	var $prevAll = $('.tabs-selected').prevAll();
	
	if ($prevAll.length == 0) {
		return false;
	}
	
	$prevAll.each(function(i, n) {
		var t = $('a:eq(0) span', $(n)).text();
		
		$('#tabs').tabs('close', t);
	});
	
	return false;
}

function tab_contextmenu(event) {
	$('#mm').menu('show', {
	    left : event.pageX,
	    top : event.pageY
	});
	
	var subTitle = $(this).children(".tabs-closable").text();
	
	$('#mm').data("currentTabTitle", subTitle);
	
	$('#tabs').tabs('select', subTitle);
	
	return false;
}

function topNavClick(event) {
	var jq = $(this);
	
	var isActive = jq.parent().is('.uk-active');
	
	if (isActive == true) {
		return false;
	}
	
	jq.parent().addClass('uk-active').siblings().removeClass('uk-active');
	
	refreshLeftNav();
	
	return false;
}

function leftNavClick(event) {
	var url = $(this).attr('href');
	
	var name = $(this).text();
	
	addTabs({
	    url : url,
	    name : name
	});
	
	return false;
}

function addTabs(data) {
	if ($('#tabs').tabs('exists', data.name)) {
		$('#tabs').tabs('select', data.name);
	} else {
		var content = createFrame(data.url);
		
		$('#tabs').tabs('add', {
		    title : data.name,
		    content : content,
		    closable : true
		});
	}
	
	return false;
}

/**
 * 创建iframe
 * 
 * @param url
 *            路径
 * @returns iframe html
 */
function createFrame(url) {
	var s = '<iframe class="fd-iframe-1-1" src="' + url + '"></iframe>';
	
	return s;
}

/**
 * 刷新顶部导航
 */
function refreshTopNav() {
	var url = fand.webContextUrl + '/admin/topNav.html';
	
	var navigationId = $('.top-nav li.uk-active a').attr('id');
	
	var data = {
	    id : navigationId,
	    typeCo : 'adminTop',
	    time : new Date().getTime()
	};
	
	$('.top-nav').load(url, data, function() {
		refreshLeftNav();
	});
}

function refreshLeftNav() {
	var url = fand.webContextUrl + '/admin/leftNav.html';
	
	var $a = $('.top-nav li.uk-active a');
	
	var parentId = $a.attr('id');
	
	var siteId = $a.attr('siteId');
	
	var typeId = $a.attr('typeId');
	
	var data = {
	    parentId : parentId,
	    siteId : siteId,
	    typeId : typeId,
	    time : new Date().getTime()
	};
	
	$('.left-nav').load(url, data, function() {
		$('.left-nav div.easyui-accordion').accordion();
	});
}